package de.tabuma.soap.entity.xsd;

import java.util.*;
import java.io.*;
import javax.jdo.annotations.*;

import de.tabuma.soap.annotation.*;

/**
 * This class represents an element of an wsdl document called &quot;schema&quot;.
 * @author $Author: alefen $
 * @version $Revision: 1.1 $
 * @since $Date: 2009/12/30 02:57:12 $
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
@SoapClassDefinition(@SoapClassMapping(mappingString="schema",mappingType=SoapClassMapping.MappingType.XSD))
public class XsSchema implements Serializable {

    public XsSchema() {
        this.xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation = new ArrayList<Long>();
    }

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id1;
    public Long getId1() {
        return id1;
    }

    @Persistent
    @SoapFieldDefinition(
        {
            @SoapFieldClass(classDefinition=XsInclude.class),
            @SoapFieldClass(classDefinition=XsImport.class),
            @SoapFieldClass(classDefinition=XsRedefine.class),
            @SoapFieldClass(classDefinition=XsAnnotation.class),
            @SoapFieldClass(classDefinition=XsSimpleType.class),
            @SoapFieldClass(classDefinition=XsComplexType.class),
            @SoapFieldClass(classDefinition=XsElement.class),
            @SoapFieldClass(classDefinition=XsAttribute.class),
            @SoapFieldClass(classDefinition=XsAttributeGroup.class),
            @SoapFieldClass(classDefinition=XsGroup.class),
            @SoapFieldClass(classDefinition=XsNotation.class)
        }
    )
    protected List<Long> xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation;
    public List<Long> getXsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation() {
        if(this.xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation==null) {
            this.xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation = new ArrayList<Long>();
        }
        return this.xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation;
    }
    public void setXsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation(List<Long> xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation) {
        this.xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation = xsIncludeOrXsImportOrXsRedefineOrXsAnnotationOrXsSimpleTypeOrXsComplexTypeOrXsElementOrXsAttributeOrXsAttributeGroupOrXsGroupOrXsNotation;
    }
    
    @Persistent
    @SoapAttribute
    protected String targetNamespace;
    public String getTargetNamespace() {
        return targetNamespace;
    }
    public void setTargetNamespace(String value) {
        this.targetNamespace = value;
    }

    @Persistent
    @SoapAttribute
    protected String version;
    public String getVersion() {
        return version;
    }
    public void setVersion(String value) {
        this.version = value;
    }

    @Persistent
    @SoapAttribute
    protected String xmlnsXs;
    public String getXmlnsXs() {
        if (xmlnsXs == null) {
            return "http://www.w3.org/2001/XMLSchema";
        } else {
            return xmlnsXs;
        }
    }
    public void setXmlnsXs(String value) {
        this.xmlnsXs = value;
    }

    @Persistent
    @SoapAttribute
    protected String xmlns;
    public String getXmlns() {
        return xmlns;
    }
    public void setXmlns(String value) {
        this.xmlns = value;
    }

    @Persistent
    @SoapAttribute
    protected String finalDefault;
    public String getFinalDefault() {
        if (finalDefault == null) {
            return "";
        } else {
            return finalDefault;
        }
    }
    public void setFinalDefault(String value) {
        this.finalDefault = value;
    }

    @Persistent
    @SoapAttribute
    protected String blockDefault;
    public String getBlockDefault() {
        if (blockDefault == null) {
            return "";
        } else {
            return blockDefault;
        }
    }
    public void setBlockDefault(String value) {
        this.blockDefault = value;
    }

    @Persistent
    @SoapAttribute
    protected String id;
    public String getId() {
        return id;
    }
    public void setId(String value) {
        this.id = value;
    }

    @Persistent
    @SoapAttribute
    protected String elementFormDefault;
    public String getElementFormDefault() {
        if (elementFormDefault == null) {
            return "unqualified";
        } else {
            return elementFormDefault;
        }
    }
    public void setElementFormDefault(String value) {
        this.elementFormDefault = value;
    }

    @Persistent
    @SoapAttribute
    protected String attributeFormDefault;
    public String getAttributeFormDefault() {
        if (attributeFormDefault == null) {
            return "unqualified";
        } else {
            return attributeFormDefault;
        }
    }
    public void setAttributeFormDefault(String value) {
        this.attributeFormDefault = value;
    }

    @Persistent
    @SoapAttribute
    protected String xmlLang;
    public String getXmlLang() {
        return xmlLang;
    }
    public void setXmlLang(String value) {
        this.xmlLang = value;
    }
}
